Programs Are Abstract Data Types

نویسنده

  • Martin Erwig
چکیده

We propose to view programs as abstract data types and to perform program changes by applying well-defined operations on programs. The ADT view of programs goes beyond the approach of syntax-directed editors and proofeditors since it is possible to combine basic update operations into larger update programs that can be stored and reused. It is crucial for the design of update operations and their composition to know which properties they can preserve when they are applied to a program. In this paper we argue in favor of the abstract data type view of programs, and present a general framework in which different programming languages, update languages, and properties can be studied.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Implicitly synchronized abstract data types: data structures for modular parallel programming

Abstract data types are used to control the complexity of developing serial programs. They promote modular programming by encapsulating state and operations on that state. In parallel environments abstract data types must also encapsulate the synchronization required to correctly sequence the invocation of specific operations. An abstract data type is implicitly synchronized if it completely en...

متن کامل

Reasoning about Oject-oriented Programs That Use Subtypes

Programmers informally reason about object-oriented programs by using subtype relationships to classify the behavior of objects of di erent types and by letting supertypes stand for all their subtypes. We describe formal speci cation and veri cation techniques for such programs that mimic these informal ideas. Our techniques are modular and extend standard techniques for reasoning about program...

متن کامل

Data refinement by rewriting

One of the activities in the step-wise development of programs is the transformation of abstract programs involving abstract data types, such as graphs, sets, and sequences, that are not normally available as primitive in programming languages, into executable concrete programs in which a representation of these types is provided. Apart from the change of data representation, such a data refine...

متن کامل

Schema-Based Top-Down Design of Logic Programs Using Abstract Data Types

This paper presents a set of schemata that support stepwise top-down design of logic programs using abstract data types (ADTs). There are thus three main components to this approach: top-down design, program schemata and ADTs, all of which are already well established notions. Our aim is to combine these ideas in a framework, amenable to support by design tools and allowing the use of existing ...

متن کامل

Automatic Autoprojection of Recursive Equations with Global Variables and Abstract Data Types

Self-applicable partial evaluation has been implemented for half a decade now, but many problems remain open. This paper addresses and solves the problems of automating call unfolding, having an open-ended set of operators, and processing global variables updated by side eeects. The problems of computation duplication and termination of residual programs are addressed and solved: residual progr...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2001